7.16 /hooks - 管理钩子配置

3 分钟阅读

概述#

/hooks 命令用于管理工具事件的钩子配置。钩子允许你在特定事件发生时自动执行自定义脚本或命令。

基本语法#

bash
/hooks [subcommand]

子命令#

子命令描述
无参数列出所有已配置的钩子
add添加新的钩子
edit编辑现有钩子
remove删除钩子
enable启用钩子
disable禁用钩子

功能说明#

列出钩子#

bash
/hooks # 显示所有已配置的钩子及其状态

添加钩子#

bash
/hooks add # 按照提示输入: # - 钩子名称 # - 触发事件 # - 执行命令 # - 工作目录

删除钩子#

bash
/hooks remove <hook-name> # 删除指定的钩子

钩子事件#

Claude Code 支持以下钩子事件:

事件描述
before-edit文件编辑前
after-edit文件编辑后
before-run命令执行前
after-run命令执行后
on-error错误发生时
on-success任务成功时

使用场景#

1. 代码格式化#

bash
# 添加文件编辑后的格式化钩子 /hooks add # 配置: # - 事件: after-edit # - 命令: prettier --write $FILE # - 作用: 每次编辑文件后自动格式化

2. 运行测试#

bash
# 添加代码编辑后的测试钩子 /hooks add # 配置: # - 事件: after-edit # - 命令: npm test # - 作用: 每次编辑代码后运行测试

3. 备份文件#

bash
# 添加文件编辑前的备份钩子 /hooks add # 配置: # - 事件: before-edit # - 命令: cp $FILE $FILE.backup # - 作用: 编辑前自动备份文件

4. 通知#

bash
# 添加任务完成后的通知钩子 /hooks add # 配置: # - 事件: on-success # - 命令: notify-send "Task completed" # - 作用: 任务完成后发送通知

钩子配置示例#

格式化钩子#

yaml
name: format-code event: after-edit command: prettier --write $FILE enabled: true

测试钩子#

yaml
name: run-tests event: after-edit command: npm test working-dir: ./tests enabled: true

备份钩子#

yaml
name: backup-file event: before-edit command: cp $FILE $FILE.backup enabled: true

环境变量#

钩子命令可以使用以下环境变量:

变量描述
$FILE被编辑的文件路径
$COMMAND执行的命令
$STATUS命令退出状态
$WORKING_DIR工作目录

注意事项#

  1. 钩子命令在工作目录中执行
  2. 钩子执行失败不会阻止主流程
  3. 可以禁用钩子而不删除
  4. 钩子配置保存在项目或用户级别

与其他命令的配合使用#

bash
# 配置钩子,然后测试 /hooks add # 编辑文件 # 钩子自动执行

最佳实践#

  1. 合理使用:只在必要时使用钩子,避免过度自动化
  2. 错误处理:确保钩子命令有适当的错误处理
  3. 性能考虑:避免在钩子中执行耗时操作
  4. 测试钩子:添加钩子后,测试其行为是否符合预期

总结#

/hooks 命令是 Claude Code 中用于自动化工作流的重要工具。通过使用此命令,你可以:

  • 在特定事件发生时自动执行命令
  • 自动化重复性任务
  • 实现自定义工作流
  • 提高工作效率

合理使用 /hooks 命令可以帮助你创建更高效的开发工作流。

标记本节教程为已读

记录您的学习进度,方便后续查看。